An non-limitative example of a typical application of an embodiment is represented by so-called Field Orientated Control (FOC) systems, that are control systems dedicated to controlling three-phase electric motors.
A typical FOC control system operates starting from the measure of a plurality of currents in the stators of an electric motor, by dividing them into two separate components, one component being called the torque current and a second component being called the flow current. These currents are subjected to processing, within the FOC feedback loop, to drive said electric motor, according to the application.
As known, FOC control systems provide, for the control algorithm execution, square-root-extraction operations of decimal radicand with values comprised between 0 and 1, representative of electrical quantities, such as currents or voltages, with a high precision.
Therefore, it may be important to implement, in said control systems, an efficient function to compute this square root.
There are several known methods for extracting a square root, in particular fixed-point algorithms appear to run faster than floating-point ones. Among said algorithms for the fixed-point square-root extraction, the best known are the following three. One algorithm, called Newton's iterative algorithm, based on the homonymous mathematical method, provides a 32 bits precision and is capable of operating with decimal radicands, but it is very slow, even referring to the version limited to only ten iterations. A second algorithm, called the Turkowski algorithm, is based on the binary-restoring square-root extraction method, with linear type convergence, has a 32 bits result accuracy, and is also capable of processing decimal numbers and typically requires a lower execution time than the previous algorithm, but the execution time is still long compared to response times often necessary to ensure optimal performances in modern control systems. A third algorithm, known as Dijkstra's algorithm, is much faster, but only implements integer-numbers root extraction and provides an accuracy limited to 16 bits, which is insufficient for the standards required by many control systems.